package com.shujia.wyh.day18;

import java.util.ArrayList;
import java.util.List;

/*
    List集合特有的功能：
        该界面的用户可以精确控制列表中每个元素的插入位置。
        用户可以通过整数索引（列表中的位置）访问元素，并搜索列表中的元素
        因为List集合拥有下标索引的特点，所以根据这个下标索引衍生出了很多特有的方法

    添加功能：
        void add(int index, Object element) 将指定的元素插入此列表中的指定位置（可选操作）。
    删除功能：
        Object remove(int index) 删除该列表中指定位置的元素（可选操作）。
    获取功能：
        Object get(int index) 返回此列表中指定位置的元素。
    修改功能：
        Object set(int index, Object element) 用指定的元素（可选操作）替换此列表中指定位置的元素。
    List集合特有迭代器：
        ListIterator listIterator() 返回列表中的列表迭代器（按适当的顺序）。
 */
public class ListDemo2 {
    public static void main(String[] args) {
        //创建List集合对象
        List list = new ArrayList();

        //添加元素到集合中
        list.add("hello");
        list.add("world");
        list.add("java");
        list.add("world");
        list.add("hadoop");
        System.out.println(list);
        System.out.println("================================");
        //void add(int index, Object element) 将指定的元素插入此列表中的指定位置（可选操作）.
        //index>=0 && index<=size()
        list.add(0, "hive");
        System.out.println(list);
//        list.add(10,"spark"); //IndexOutOfBoundsException
//        System.out.println(list);
        list.add(6, "spark");
        System.out.println(list);
        System.out.println("===============================");
        //Object remove(int index) 删除该列表中指定位置的元素（可选操作）。
        //返回的是被删除的元素，注意类型是Object
        //index >=0 && index <= (size()-1)
        Object o = list.remove(4);
        System.out.println(o);
        System.out.println(list);
        System.out.println("================================");
        //Object get(int index) 返回此列表中指定位置的元素。
        Object o1 = list.get(4);
        System.out.println(o1);
        System.out.println(list);
        System.out.println("================================");
        //Object set(int index, Object element) 用指定的元素（可选操作）替换此列表中指定位置的元素。
        //返回的是集合中被替代的那个元素
        Object o2 = list.set(3, "flink");
        System.out.println(o2);
        System.out.println(list);
        System.out.println("================================");


    }
}









